php文件上传+文件包含(phar伪协议)

您所在的位置:网站首页 phar smart php文件上传+文件包含(phar伪协议)

php文件上传+文件包含(phar伪协议)

2024-02-25 07:26| 来源: 网络整理| 查看: 265

test.bugku-web-upload—文件上传与文件包含组合

右键查看源码发现

在这里插入图片描述

继续查看源码,提示参数是file,还有一个upload.php

在这里插入图片描述

跟进upload.php,是个上传界面

在这里插入图片描述

那就可以猜测出是 文件上传与文件包含的组合,所以直接先使用伪协议查看源码,使用的是php://filter协议

php://filter/convert.base64-encode/resource=

首先读取include.php的源码

在这里插入图片描述

发现后缀多了一个.php,所以就不加.php了

在这里插入图片描述

base64解码

Tips: the parameter is file! :)

发现,过滤了一些字符和协议,添加了 .php 的后缀

继续读取upload.php 看看其过滤了什么

file:

简单的审计,添加了白名单,只能上传 gif、jpg、png 格式的,但是没有对内容过滤,所以可以上传图片马,然后再将其包含即可,这里尝试使用了 zip: //,但是失败了,提示没有开启,但是我们还可以使用另一个协议 phar:// 跟zip: //协议差不多,都是可以访问zip格式压缩包内容,所以接下来我们就开始准备和上传我们的图片马

首先写一句话木马 shell.php

在这里插入图片描述

然后将 shell.php 打包成 zip 文件

在这里插入图片描述

接着将shell.zip 更改为 shell.png,就是修改后缀名为png

在这里插入图片描述

然后将我们的图片马上传,成功上传

在这里插入图片描述

接着使用 phar:// 伪协议读取,没有报错且成功解析

include.php?file=phar://upload/shell.png/shell

在这里插入图片描述

这里需要注意,后面的 /shell 目录,一定要和图片名称一样(图片名称即刚刚zip文件里的php文件名),不然会报错,因为压缩包中没有 aaa.php 这个文件 在这里插入图片描述

成功包含解析,剩下的就是蚁剑连接或者直接执行命令即可



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3